package com.jc.order.service;

import com.jc.order.dto.*;
import com.jc.util.Result;
import com.jc.vo.OrderRequest;
import com.jc.vo.PolicyRequest;
import com.jc.vo.PolicyResponseVO;
import com.jc.vo.PolicyVO;

public interface ApiBaseService {




    SystemTenantDTO getTenantById(Long id, Result result);
    /**
     * 委托投保客户处理
     *
     * @param request
     * @param result
     * @return
     */
    SystemTenantDTO validateBaseInfo(OrderRequest request, Result result);


    /**
     * 对象转换  json to PolicyRequest
     *
     * @param jsonData
     * @param result
     * @return
     */
    PolicyRequest parseRequestData(String jsonData, Result result);


    /**
     * 构建 BaseInsuranceDTO
     *
     * @param policyRequest
     * @param tenant
     * @return
     */
    JcPolicyDTO buildBaseInsuranceData(PolicyRequest policyRequest, SystemTenantDTO tenant);


    /**
     * @param tenant
     * @param dto
     */
    void buildBaseInsuranceData(SystemTenantDTO tenant, JcPolicyDTO dto);


    PolicyResponseVO buildResponseVO(PolicyRequest policyRequest, JcPolicyDTO dto);

    PolicyVO buildResponseVO(JcPolicyDTO dto);
}
